36bf1325592d13e6821a899bafac770448014792,src/main/org/deidentifier/arx/metric/v2/MetricSDNMPublisherPayout.java,MetricSDNMPublisherPayout,getInformationLossInternal,#Transformation#HashGroupify#,187
Before Change
double adversarySuccessProbability = this.getSuccessProbability(entry);
double informationLoss = this.getEntropyBasedInformationLoss(transformation, entry);
real += !entry.isNotOutlier ? 0d : entry.count * modelRisk.getExpectedPublisherPayout(informationLoss, adversarySuccessProbability);
bound += entry.count * modelRisk.getExpectedPublisherPayout(informationLoss, 0d);
}
entry = entry.nextOrdered;
}
// Invert
real = this.getNumTuples() * this.config.getPublisherBenefit() - real;
bound = this.getNumTuples() * this.config.getPublisherBenefit() - bound;
// Return
return super.createInformationLoss(real, bound);
After Change
double adversarySuccessProbability = this.getSuccessProbability(entry);
double informationLoss = this.getEntropyBasedInformationLoss(transformation, entry);
double realPayout = modelRisk.getExpectedPublisherPayout(informationLoss, adversarySuccessProbability);
double boundPayout = modelRisk.getExpectedPublisherPayout(informationLoss, 0d);
real += !entry.isNotOutlier ? (sFactor * entry.count * maxPayout) :
(gFactor * entry.count * (maxPayout - realPayout));
bound += gFactor * entry.count * (maxPayout - boundPayout);
}
entry = entry.nextOrdered;
}